ALPHAPROG: Reinforcement Generation of Valid Programs for Compiler Fuzzing
نویسندگان
چکیده
Fuzzing is a widely-used testing technique to assure software robustness. However, automatic generation of high-quality test suites challenging, especially for that takes in highly-structured inputs, such as the compilers. Compiler fuzzing remains difficult generating tons syntactically and semantically valid programs not trivial. Most previous methods either depend on human-crafted grammars or heuristics learn partial language patterns. They both suffer from completeness issue classic puzzle testing. To mitigate problem, we propose knowledge-guided reinforcement learning-based approach compiler fuzzing. We first design naive learning model which evolves with sequential mutation rewards provided by target test. By iterating training cycle, learns generate can improve efficacy well. implement proposed method into tool called ALPHAPROG. analyze framework four different reward functions our study reveal effectiveness ALPHAPROG also reported two important bugs production were confirmed addressed project owner, further demonstrates ALPHAPROG's applied value practice.
منابع مشابه
Deep Reinforcement Fuzzing
Fuzzing is the process of finding security vulnerabilities in input-processing code by repeatedly testing the code with modified inputs. In this paper, we formalize fuzzing as a reinforcement learning problem using the concept of Markov decision processes. This in turn allows us to apply state-of-theart deep Q-learning algorithms that optimize rewards, which we define from runtime properties of...
متن کاملH-Fuzzing: A New Heuristic Method for Fuzzing Data Generation
How to efficiently reduce the fuzzing data scale while assuring high fuzzing veracity and vulnerability coverage is a pivotal issue in program fuzz test. This paper proposes a new heuristic method for fuzzing data generation named with H-Fuzzing. H-Fuzzing achieves a high program execution path coverage by retrieving the static information and dynamic property from the program. Our experiments ...
متن کاملValid inequalities for mixed integer linear programs
This tutorial presents a theory of valid inequalities for mixed integer linear sets. It introduces the necessary tools from polyhedral theory and gives a geometric understanding of several classical families of valid inequalities such as lift-and-project cuts, Gomory mixed integer cuts, mixed integer rounding cuts, split cuts and intersection cuts, and it reveals the relationships between these...
متن کاملVerifying Compiler Transformations for Concurrent Programs
Compilers transform programs, either to optimize performance orto translate language-level constructs into hardware primitives. Forconcurrent programs, ensuring that a transformation preserves thesemantics of the input program can be challenging. In particu-lar, the emitted code must correctly emulate the semantics of thelanguage-level memory model when running on hardware w...
متن کاملCompiler Support for Real-Time Programs
We present a compiler-based approach to automatically assist in constructing real-time systems. In this approach, source programs are written in TCEL (or Time Constrained Event Language) which possesses high-level timing constructs , and whose semantics characterizes time-constrained relationships between observable events. A TCEL program infers only those timing constraints necessary to achiev...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ... AAAI Conference on Artificial Intelligence
سال: 2022
ISSN: ['2159-5399', '2374-3468']
DOI: https://doi.org/10.1609/aaai.v36i11.21527